package cn.zane.mybatis.session.defaults;

import cn.zane.mybatis.binding.MapperRegistry;
import cn.zane.mybatis.session.Configuration;
import cn.zane.mybatis.session.SqlSession;
import cn.zane.mybatis.session.SqlSessionFactory;

/**
 * @author zane
 * @date 2025/01/17
 * @Description 默认的简单工厂实现，处理开启SqlSession时，对DefaultSqlSession的创建以及传递MapperRegistry，
 * 这样就可以在使用SqlSession时获取每个代理类的映射器对象了。
 */
public class DefaultSqlSessionFactory implements SqlSessionFactory {

   private Configuration configuration;

    public DefaultSqlSessionFactory(Configuration configuration) {
        this.configuration = configuration;
    }

    @Override
    public SqlSession openSession() {
        return new DefaultSqlSession();
    }
}
